1. Field of the Invention
The present invention relates generally to wireless communications, and more particularly, to a data link layer tunneling technique for resending missed frames between a packet sending unit and a packet receiving unit over a logical tunnel channel to improve the throughput of high speed data in a noisy wireless environment.
2. Description of the Prior Art
Fixed wireless systems are used to communicate voice and high speed data (HSD) between a base station (BS) and multiple remote units (RU) over an air-interface. HSD is generally used for web browsing, down loads and file transfer protocols (FTP). All data must be transferred notwithstanding the predictable errors caused by the communications links employed in the system (e.g., a 10E-03 Bit Error Rate (BER)). Accordingly, communication protocols have been developed for transmitting data in discrete blocks commonly referred to as “frames.” These frames are evaluated at the receiving end to determine if the data is correctly received. If certain frames are in error or missed, those frames are retransmitted by the sending station.
Communications protocols are commonly based on the layered network architecture such as OSI. This is a 7-layer architecture including a physical layer (connectors, media, electrical signaling) and a data link layer, which packages the data into frames, manages data transmission over a link (error handling and the like), and facilitates access control (when each station may transmit). One way of achieving full-duplex data transmission over a single communication channel utilizes what is known in the art as a “sliding window protocol.” At any instant in time, the sender maintains a list of consecutive sequence numbers corresponding to frames it is permitted to send. These frames fall within a “sending window.” In the same manner, the receiver maintains a “receiving window” corresponding to the frames it is permitted to accept. The sending and receiving windows do not necessarily have the same upper and lower limits, or the same size. The sequence numbers within the sender's window represent frames sent but not yet acknowledged. Whenever a new data packet arrives from the network layer, it is given the next highest sequence number, and the upper edge of the window is advanced by one. When an acknowledgement is received, the lower edge of the window is advanced by one. The window continuously maintains a list of unacknowledged frames. Since frames currently within the sender's window may be lost or changed during transmission, the sender must keep all the sent frames in memory in the event a retransmission is required. Accordingly, if the maximum window size is “K”, the sender needs K buffers to hold the unacknowledged frames in memory. If the window ever exceeds it's maximum size, the sending data link layer must shut off the network layer until a buffer is freed up. The receiving data link layer's window corresponds to the frames it can accept. Any frame that falls outside the window is discarded. When a frame with a sequence number equal to the lower edge of the window is received, that frame is passed to the network layer, an acknowledgment is generated to the sender, and the window is rotated by one. Unlike the sender's window, the receiver's window always remains at its initial size.
An example of a sliding window protocol in a data communications system is disclosed in U.S. Pat. No. 4,841,526. In the '526 patent, the window size of the sending or receiving station is selected in accordance with the speed, length or error rate of the communication link or frame size used to maximize the communication link. The negative acknowledgements sent by the receiving station specify the upper and lower limit of a range of identification numbers of frames unsuccessfully received to increase transmission efficiency. Before data is transmitted, the sending and receiving stations exchange preferred sets of link parameters and generate a modified set of link parameters to resolve potential conflicts. One of the sending and receiving stations stores a table defining the frame sizes for use with different bit error rates of the communication link. The station evaluates the current bit error rate to select the optimum frame size from the table and adjust the frame size.
To provide HSD over a wireless system, a large window size (K) is required. As an example, at a transmission rate of 512 kbps, a window size K of 45 is used. In such a system, loss of a frame will cause relatively long silent periods or what is referred to as “channel idle.” Application layers such as FTP or web browsing pump data at a higher rate than the air link data thereby causing the data link layer window to be filled at a very fast rate. If the receiving station loses a frame, it sends a selective reject message (SREJ) to the sending station. By the time the sending station receives the SREJ, however, the window can be filled, and neither the sender nor receiver will be able to transmit or receive until the outstanding frame clears. This causes a silent or “channel idle” period where the sending station cannot transmit and the receiving station cannot receive more than the last acknowledged frame (Va)+window size (K).
In view of the above, there exists a need for a new method of enhancing HSD transmission in wireless environments that reduce the idle periods caused by lost frames.